This invention relates to communications systems in general, and to routing of communications in such systems in particular.
Systems for routing communications through communications networks are well known. They generally take one of two forms: premises routing and network routing. Premises routing involves making routing decisions in a private network once a communication has been delivered to that network. It is exemplified by private branch exchange (PBX)-based automatic call distribution (ACD) systems. Conventional ACD systems route calls (and more recently other communications as well) to agents in telemarketing and service-inquiry centers, and provide call-management, status-reporting, and performance-reporting capabilities. Network routing involves making routing decisions in a public network, for example, in an interexchange carrier""s telephony network, prior to delivery of the communication to a premises destination, generally in a way that balances the workload across a plurality of destinations, e.g., ACDs. It is exemplified by, e.g., the routing system disclosed in U.S. Pat. No. 5,878,130.
Network routing systems generally operate by transporting large volumes of status and event data from the premises destinations, e.g., the ACDs, to a network router that is responsible for making the routing decisions and which uses that data to make those decisions. This data is generally very sensitive and proprietary to the sources of this information, i.e., to the private networks that are customers of the network routing systems. The customers that purchase network routing services are very reluctant to have this sensitive data passed to systems outside of their premises, because if a router is not under complete control of the customer, there is a security concern that this sensitive information may be leaked or misused.
This invention is directed to solving these problems and disadvantages of the prior art. Generally, the invention eliminates the need in a network-routing system to send sensitive event or status information to the network router. Rather, either one of the customer""s ACDs or another communications entity of the customer collects and processes the information locally, under the customer""s control or on the customer""s premises, and whenever it detects that the load balance needs readjusting, it sends routing sequence messages to the network router. These messages specify, dictate, the routing scheme to the network router, whereby the customer exerts direct control over the network router. Illustratively, a routing sequence message contains a pair of routing sequences. Each is an ordered sequence of destination route points. The first is intended to establish a work load (communications processing) balance, and the second is intended to maintain the load balance. The first is executed once upon receipt by the network router, and the second is executed repeatedly in a cycle until a new routing sequence message is received. For example, assume a customer who has two ACDs A and B. Presently, A""s queue delay is 20 seconds and it can handle one call every five seconds, while B""s queue delay is 35 seconds and it can handle one call every ten seconds. The routing sequence message that would be sent to the network router in this example is xe2x80x9cAAA,ABAxe2x80x9d where the comma separates the two routing sequences of the pair.
Specifically according to one aspect of the invention, an apparatus comprises a communications network, a communications entityxe2x80x94for example, a private network or an automatic communication distribution (ACD) systemxe2x80x94connected to the network for processing communications, and a network router connected to the network and responsive to information received from the entity for routing the communications to or from the entity over ones of a plurality of routes through the network. The entity determines its own status, selects ones of the routes based on that status, and specifies the selected routes to the network router to cause the router to route the communications over the specified routes. The network router in turn responds to the specification by routing the communications through the network over the specified routes. Illustratively, the entity comprises a plurality of communications endpointsxe2x80x94for example, a plurality of ACD systems, or a plurality of communications call-processing resources such as agentsxe2x80x94the entity determines the status of the endpoints, selects ones of the endpointsxe2x80x94and preferably selects a sequence of the ones of the endpointsxe2x80x94to or from which the communications should be routed, and specifies the selected endpoints or the sequence thereof to the network router to cause the network router to route the communications over routes to or from the specified endpoints, preferably in the specified sequence. The network router in turn responds to the specified endpoints, or specified sequence thereof, by routing the communications through the network to or from the specified endpoints, in the specified sequence.
According to another aspect of the invention, a communications entity for use with a communications network that has a network router connected to the network for routing communications to or from the entity over ones of a plurality of routes through the network processes communications routed thereto or therefrom by the router, determines the status of the processing, selects ones of the routes based on the status, and specifies the selected routes to the network router to cause the network router to route the communications to or from the entity over the specified routes.
According to yet another aspect of the invention, a router for a communications network that has a communications entity connected thereto for processing communications receives from the entity a specification of ones of a plurality of routes to or from the entity through the network, and responds thereto by routing communications through the network to or from the entity over the specified ones of the routes.
Since only route specifications (e.g., sequences of destination route points) are passed to the network router, the possibility of a security breach of sensitive data in the network is eliminated. Also, the volume of data that is passed to the network router is dramatically reduced. Additional advantages are that it is no longer necessary to administer route destinations at the network router, that route points can be changed or added without needing to change the network router, that even a simple communications interface enables the network router to receive the routing sequence messages, and that messaging needs are greatly reduced.
While the invention has been characterized in terms of function, it encompasses both method that implements the function and apparatus that performs the function. The apparatus preferably includes an effectorxe2x80x94any entity that effects the corresponding function step, unlike a meansxe2x80x94for each function step. The invention further encompasses a computer-readable medium containing instructions which, when executed in a computer, cause the computer to perform the function steps.